<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <button>测试1</button>
    <button>测试2</button>
    <button>测试3</button>
    <!-- 需求： 点击某个按钮，提示“点击的是第n个按钮” -->
    <script>
        /* 错误场景及解决
                    var btns = document.getElementsByTagName('button')
                        // 注意：[btns] 不是一个数组，它是一个伪数组
                        // 每次获取[btns.length] 其实都是需要进行计算的（因为它是伪数组）
                        // 所以为了性能更好，在此处赋值，就只需计算一次
                    for (var i = 0, length = btns.length; i < length; i++) {
                        var btn = btns[i];
                        // 存到自身
                        btn.index = i
                        btn.onclick = function() { // 遍历加监听
                            alert('第' + (this.index + 1) + '个') // 结果  全是[4]
                        }
                    }
                    */
    </script>
</body>

</html>